#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>

int main()
{
    printf("hello printf\n");
    fprintf(stdout, "hello fprintf\n");
    const char *message = "hello fprintf\n";

    return 0;
}

//int main()
//{
//    //int fd = open("log.txt", O_CREAT | O_WRONLY | O_TRUNC, 0666);
//    int fd = open("log.txt", O_CREAT | O_WRONLY | O_APPEND, 0666);
//
//    dup2(fd, 1);
//
//    write(1, "hello 1\n", 8);
//
//    printf("hello fd: %d\n", fd);
//    fprintf(stdout, "hello fd: %d\n", fd);
//    fputs("hello world\n", stdout);
//
//    const char *message = "hello fwrite\n";
//    fwrite(message, 1, strlen(message), stdout);
//
//    return 0;
//}


//int main()
//{
//    close(1);
//    int fd1 = open("log1.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);
//    int fd2 = open("log2.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);
//    int fd3 = open("log3.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);
//    int fd4 = open("log4.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);
//
//    printf("fd1: %d\n", fd1);
//    printf("fd2: %d\n", fd2);
//    printf("fd3: %d\n", fd3);
//    printf("fd4: %d\n", fd4);
//
//    //fflush(stdout);
//    
//    close(fd1);
//    close(fd2);
//    close(fd3);
//    close(fd4);
//
//    return 0;
//}

//int main()
//{
//    int a = 12345;
//    //write(1, &a, sizeof(a));// 显示器只认字符
//    
//    char buffer[1024];
//    snprintf(buffer, sizeof(buffer), "%d", a);// 转化为字符
//    write(1, buffer, strlen(buffer));// 显示器只认字符
//
//    return 0;
//}


//int main()
//{
//    printf("stdin: %d\n", stdin->_fileno);
//    printf("stdout: %d\n", stdout->_fileno);
//    printf("stderr: %d\n", stderr->_fileno);
//
//    FILE* fp = fopen("log.txt", "w");
//    printf("fp: %d\n", fp->_fileno);
//    return 0;
//}

